package com.hualan.sfzy.utils;

import java.security.SecureRandom;
import java.util.Base64;

public class SaltUtils {

    /**
     * 生成随机盐（默认16字节，转为Base64字符串存储）
     * @return 随机盐的Base64字符串
     */
    public static String generateRandomSalt() {
        // 盐的长度：16字节（128位），可根据需求调整（如32字节=256位）
        int saltLength = 16;
        byte[] salt = new byte[saltLength];
        
        // 使用加密级随机数生成器
        SecureRandom secureRandom = new SecureRandom();
        secureRandom.nextBytes(salt); // 填充随机字节
        
        // 转为Base64字符串（方便存储，避免二进制数据的编码问题）
        return Base64.getEncoder().encodeToString(salt);
    }

    public static void main(String[] args) {
        // 测试生成随机盐
        String salt = generateRandomSalt();
        System.out.println("随机盐（Base64）：" + salt);
        System.out.println("盐长度（字符）：" + salt.length());
    }
}